From 5b6313f16f508882a0ea67716b7dbaa1c6967f04 Mon Sep 17 00:00:00 2001 From: dujinkim Date: Mon, 30 Jun 2025 08:28:13 +0000 Subject: (대표님) 20250630 16시 - 유저 도메인별 라우터 분리와 보안성검토 대응 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/[lng]/engineering/(engineering)/items/page.tsx | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 app/[lng]/engineering/(engineering)/items/page.tsx (limited to 'app/[lng]/engineering/(engineering)/items/page.tsx') diff --git a/app/[lng]/engineering/(engineering)/items/page.tsx b/app/[lng]/engineering/(engineering)/items/page.tsx new file mode 100644 index 00000000..0c44bf0a --- /dev/null +++ b/app/[lng]/engineering/(engineering)/items/page.tsx @@ -0,0 +1,68 @@ +// app/items/page.tsx (업데이트) +import * as React from "react" +import { type SearchParams } from "@/types/table" + +import { Skeleton } from "@/components/ui/skeleton" +import { DataTableSkeleton } from "@/components/data-table/data-table-skeleton" +import { Shell } from "@/components/shell" +import { searchParamsCache } from "@/lib/items/validations" +import { getItems } from "@/lib/items/service" +import { ItemsTable } from "@/lib/items/table/items-table" +import { ViewModeToggle } from "@/components/data-table/view-mode-toggle" + +interface IndexPageProps { + searchParams: Promise +} + +export default async function IndexPage(props: IndexPageProps) { + const searchParams = await props.searchParams + const search = searchParamsCache.parse(searchParams) + + // pageSize 기반으로 모드 자동 결정 + const isInfiniteMode = search.perPage >= 1_000_000 + + // 페이지네이션 모드일 때만 서버에서 데이터 가져오기 + // 무한 스크롤 모드에서는 클라이언트에서 SWR로 데이터 로드 + const promises = isInfiniteMode + ? undefined + : Promise.all([ + getItems(search), // searchParamsCache의 결과를 그대로 사용 + ]) + + return ( + +
+
+
+

+ 패키지 정보 +

+

+ S-EDP로부터 수신된 패키지 정보이며 PR 전 입찰, 견적에 사용되며 벤더 데이터, 문서와 연결됩니다. +

+
+
+ +
+ + }> + {/* DateRangePicker 등 추가 컴포넌트 */} + + + + } + > + {/* 통합된 ItemsTable 컴포넌트 사용 */} + + +
+ ) +} \ No newline at end of file -- cgit v1.2.3